package Personnage;
import java.util.ArrayList;

import Equipement.Equipement;


public abstract class Joueur {
	
	protected String nomJoueur;
	protected int PointdeVie;
	private ArrayList<Equipement> listeEquipements;
	
	
	public Joueur (){
		
		//100 points de vie par defaut
		this("", 100 , new ArrayList<Equipement>());
	}
	
	//constructeur
	public Joueur (String nomJ, int pdv, ArrayList<Equipement> lequipements ){
		this.nomJoueur= nomJ;
		this.PointdeVie=pdv;
		this.listeEquipements=lequipements;
		
	}
	
	
	public int getPointdeVie() {
		return PointdeVie;
	}

	public void setPointdeVie(int pointdeVie) {
		PointdeVie = pointdeVie;
	}

	public String getNomJoueur() {
		return nomJoueur;
	}


	public void setNomJoueur(String nomJoueur) {
		this.nomJoueur = nomJoueur;
	}
	
	public  void executeStrategie(){
	
	
	}
	

public void seSoigner(int f){
	
	/*if (PointdeVie<=15)
	{
		System.out.println("se soigner");
	}*/
	
	if (f==1){ 						//10 pts de vie en plus
		PointdeVie= PointdeVie+10;
		
		if (PointdeVie>100){
			PointdeVie=100;
			}
	}
	
	if (f==2 ){ 						//5 pts de vie en plus
		PointdeVie= PointdeVie+5;
		
		if (PointdeVie>100){
			PointdeVie=100;
			}
	}
	
}



public ArrayList<Equipement> getListeEquipements() {
	return listeEquipements;
}


public void setListeEquipements(ArrayList<Equipement> listeEquipements) {
	this.listeEquipements = listeEquipements;
}



public void addEquipement(String nom,int poid, int longeuer)
{
int i;	
boolean existe = false;
for(i=0 ; i<listeEquipements.size() ; i++)
{
	if((listeEquipements.get(i).getNomEquipement().equals(nom)))
	{
		System.out.println("Lequipement" + nom + " a déjà un propietaire " +nomJoueur+ " !\n\n");
		existe=true;	
		i=listeEquipements.size();		
		
	}
}
if(!existe)
{
	Equipement newEquipement = new Equipement(nom, poid, longeuer);
	listeEquipements.add(newEquipement);
	System.out.println("L'equipement " + nom + " a bien été ajouté au Joueur " + nomJoueur + " !\n\n");
}
}



abstract void attaquer(Equipement A);

abstract void attaquerParDefaut(Equipement B);
	
	
}
